home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 December / 2004-12 CHIP.iso / Internet / NVU 0.50 for Windows / nvu-0.50-win32-installer-full.exe / {app} / chrome / toolkit.jar / content / mozapps / shared / richview.xml
Encoding:
Extensible Markup Language  |  2004-03-29  |  5.1 KB  |  162 lines

  1. <?xml version="1.0"?>
  2.  
  3.  
  4.  
  5. <bindings id="richViewBindings"
  6.           xmlns="http://www.mozilla.org/xbl"
  7.           xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
  8.           xmlns:xbl="http://www.mozilla.org/xbl">
  9.  
  10.   <binding id="richview-item">
  11.     <implementation>
  12.       <method name="fireEvent">
  13.         <parameter name="aEventType"/>
  14.         <body>
  15.         <![CDATA[
  16.           var e = document.createEvent("Events");
  17.           e.initEvent(this.eventPrefix + aEventType, false, true);
  18.           
  19.           this.dispatchEvent(e);
  20.         ]]>
  21.         </body>
  22.       </method>
  23.       
  24.       <property name="disabled" onget="return this.getAttribute('disabled') == 'true'"
  25.                                 onset="this.setAttribute('disabled', val); return val;"/>
  26.     </implementation>  
  27.   </binding>
  28.  
  29.   <binding id="richview">
  30.     <implementation>
  31.       <method name="fireEvent">
  32.         <parameter name="aEventType"/>
  33.         <body>
  34.         <![CDATA[
  35.           var e = document.createEvent("Events");
  36.           var eventType = "richview-" + aEventType;
  37.           e.initEvent(eventType, false, true);
  38.           this.dispatchEvent(e);
  39.           document.commandDispatcher.updateCommands(eventType);
  40.         ]]>
  41.         </body>
  42.       </method>
  43.  
  44.       <field name="_selected">null</field>
  45.       <property name="selected">
  46.         <setter>
  47.         <![CDATA[
  48.           if (this._selected)
  49.             this._selected.removeAttribute("selected");
  50.           this._selected = val;
  51.           if (this._selected)
  52.             this._selected.setAttribute("selected", "true");
  53.           
  54.           this.fireEvent("select");
  55.         ]]>
  56.         </setter>
  57.         <getter>
  58.         <![CDATA[
  59.           return this._selected;
  60.         ]]>
  61.         </getter>
  62.       </property>
  63.       
  64.       <method name="selectForwardInternal">
  65.         <parameter name="aElement"/>
  66.         <body>
  67.         <![CDATA[
  68.           for (var temp = aElement; temp; temp = temp.nextSibling) {
  69.             if ("fireEvent" in temp) {
  70.               this.selected = temp;
  71.               break;
  72.             }
  73.           }
  74.         ]]>
  75.         </body>
  76.       </method>
  77.       
  78.       <method name="selectBackwardInternal">
  79.         <parameter name="aElement"/>
  80.         <body>
  81.         <![CDATA[
  82.           for (var temp = aElement; temp; temp = temp.previousSibling) {
  83.             if ("fireEvent" in temp) {
  84.               this.selected = temp;
  85.               break;
  86.             }
  87.           }
  88.         ]]>
  89.         </body>
  90.       </method>
  91.       
  92.       <method name="selectionForward">
  93.         <parameter name="aEvent"/>
  94.         <body>
  95.         <![CDATA[
  96.           if (this.selected)
  97.             this.selectForwardInternal(this.selected.nextSibling);
  98.           else {
  99.             if (this.hasChildNodes())
  100.               this.selectForwardInternal(this.firstChild);
  101.           }
  102.         ]]>
  103.         </body>
  104.       </method>
  105.  
  106.       <method name="selectionBackward">
  107.         <parameter name="aEvent"/>
  108.         <body>
  109.         <![CDATA[
  110.           if (this.selected)
  111.             this.selectBackwardInternal(this.selected.previousSibling);
  112.           else {
  113.             if (this.hasChildNodes())
  114.               this.selectBackwardInternal(this.lastChild);
  115.           }
  116.         ]]>
  117.         </body>
  118.       </method>
  119.       
  120.       <property name="children">
  121.         <getter>
  122.         <![CDATA[
  123.           var childNodes = [];
  124.           for (var i = 0; i < this.childNodes.length; ++i) {
  125.             if ("fireEvent" in this.childNodes[i])
  126.               childNodes.push(this.childNodes[i]);
  127.           }
  128.           return childNodes;
  129.         ]]>
  130.         </getter>
  131.       </property>
  132.     </implementation>
  133.     <handlers>
  134.       <handler event="click">
  135.       <![CDATA[
  136.         if (event.ctrlKey) {
  137.           this.selected = null;
  138.           return;
  139.         }
  140.         
  141.         this.selected = event.target;
  142.       ]]>
  143.       </handler>
  144.       <handler event="dblclick" action="if (this.selected && event.button == 0) this.selected.fireEvent('open');"/>
  145.       <handler event="keypress" keycode="vk_enter" action="if (this.selected) this.selected.fireEvent('open');"/>
  146.       <handler event="keypress" keycode="vk_return" action="if (this.selected) this.selected.fireEvent('open');"/>
  147.       <handler event="keypress" keycode="vk_up" action="this.selectionBackward(event);"/>
  148.       <handler event="keypress" keycode="vk_left" action="this.selectionBackward(event);"/>
  149.       <handler event="keypress" keycode="vk_down" action="this.selectionForward(event);"/>
  150.       <handler event="keypress" keycode="vk_right" action="this.selectionForward(event);"/>
  151.       <handler event="keypress" keycode="vk_up" modifiers="meta" action="this.selected = null"/>
  152.       <handler event="keypress" keycode="vk_down" modifiers="meta" action="this.selected = null"/>
  153.       <handler event="keypress" keycode="vk_left" modifiers="meta" action="this.selected = null"/>
  154.       <handler event="keypress" keycode="vk_right" modifiers="meta" action="this.selected = null"/>
  155.       <handler event="keypress" keycode="vk_delete" action="if (this.selected) this.selected.fireEvent('remove');"/>
  156.       <handler event="keypress" key=" " action="if (this.selected) { this.selected.pauseResume(); }"/>
  157.     </handlers>
  158.   </binding>
  159.   
  160. </bindings>
  161.  
  162.